﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DTO;
using BUS;

namespace nhahangbarota
{
    public partial class ThemNV : Form
    {
        public ThemNV()
        {
            InitializeComponent();
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Hide();
            Formchinh a = new Formchinh();
            a.ShowDialog();
        }

        private Boolean KiemTraNhapLieu()
        {
            if (txtHoTen.Text == "")
            {
                MessageBox.Show("Nhập tên nhân viên", "Thông báo !");
                txtHoTen.Focus();
                return false;
            }
            else if (txtCMND.Text == "")
            {
                MessageBox.Show("Nhập CMND", "Thông báo !");
                txtCMND.Focus();
                return false;
            }
            else if (txtDiaChi.Text == "")
            {
                MessageBox.Show("Nhập địa chỉ nhân viên", "Thông báo !");
                txtDiaChi.Focus();
                return false;
            }
            else if (cbxGioiTinh.Text == "")
            {
                MessageBox.Show("Chọn giới tính", "Thông báo !");
                cbxGioiTinh.Focus();
                return false;
            }
            else if (txtCMND.TextLength != 9)
            {
                MessageBox.Show("CMND không hợp lệ", "Thông báo !");
                txtCMND.Focus();
                return false;
            }

            return true;
        }

        private Boolean KiemTraDungDan()
        {
            for (int i = 0; i < txtCMND.TextLength; i++)
            {
                if (Char.IsLetter(txtCMND.Text[i]))
                {
                    MessageBox.Show("CMND không hợp lệ", "Thông báo !");
                    txtCMND.Focus();
                    return false;
                }
            }

            for (int i = 0; i < txtSDT.TextLength; i++)
            {
                if (Char.IsLetter(txtSDT.Text[i]))
                {
                    MessageBox.Show("SĐT không hợp lệ", "Thông báo !");
                    txtSDT.Focus();
                    return false;
                }
            }

            if (int.Parse(txtDD.Text) < 1 && int.Parse(txtDD.Text) > 31)
            {
                MessageBox.Show("Ngày Sinh không hợp lệ", "Thông báo !");
                txtDD.Focus();
                return false;
            }
                
            return true;

        }

        private void btnThemNV_Click(object sender, EventArgs e)
        {
            if (KiemTraNhapLieu() == false || KiemTraDungDan() == false)
                return;

            string cmnd = txtCMND.Text;

            NhanVienBUS nvBUS = new NhanVienBUS();
            NhanVienDTO nvDTO = new NhanVienDTO();

            nvDTO.HoTen = txtHoTen.Text;
            nvDTO.CMND = cmnd;
            nvDTO.DiaChi = txtDiaChi.Text;
            nvDTO.SDT = txtSDT.Text;
            nvDTO.GioiTinh = cbxGioiTinh.Text;

            DateTime ns;
            int day = int.Parse(txtDD.Text);
            int month = int.Parse(cbxMM.Text);
            int yyyy = int.Parse(txtYYYY.Text);
            ns = DateTime.Parse(month.ToString() + "/" + day.ToString() + "/" + yyyy.ToString());

            nvDTO.NgaySinh = ns;
           

            if (nvBUS.KiemTraTrung(cmnd) == true)
            {
                if (nvBUS.CapNhatTrungNV(nvDTO) == true)
                {
                    MessageBox.Show("Thêm thành công !!");
                    txtHoTen.Text = "";
                    txtDiaChi.Text = "";
                    txtCMND.Text = "";
                    txtSDT.Text = "";
                    txtDD.Text = "";
                    txtYYYY.Text = "";
                    return;
                }
               
            }           

            if (nvBUS.ThemNV(nvDTO) == true)
            {
                MessageBox.Show("Thêm thành công !!");
                txtHoTen.Text = "";
                txtDiaChi.Text = "";
                txtCMND.Text = "";
                txtSDT.Text = "";
                txtDD.Text = "";
                txtYYYY.Text = "";
            }
        }
    }
}
